﻿using Renci.iRods.Common;

namespace Renci.iRods.Packets
{
    //#define SpecColl_PI "int collClass; int type; str collection[MAX_NAME_LEN]; str objPath[MAX_NAME_LEN]; str resource[NAME_LEN]; str phyPath[MAX_NAME_LEN]; str cacheDir[MAX_NAME_LEN]; int cacheDirty; int replNum;"
    [Packet("SpecColl_PI")]
    internal class SpecialCollectionPacket : Packet
    {
        [PacketField("collClass", 0, DataTypes.Int)]
        public SpecialCollectionType CollectionClass { get; set; }

        [PacketField("type", 0, DataTypes.Int)]
        public StructFileType FileType { get; set; }

        [PacketField("collection", 0, DataTypes.String, 1024)]
        public string Collection { get; set; }

        [PacketField("objPath", 0, DataTypes.String, 1024)]
        public string ObjectPath { get; set; }

        [PacketField("resource", 0, DataTypes.String, 64)]
        public string Resource { get; set; }

        [PacketField("phyPath", 0, DataTypes.String, 1024)]
        public string PhysicalPath { get; set; }

        [PacketField("cacheDir", 0, DataTypes.String, 1024)]
        public string CacheDirectory { get; set; }

        [PacketField("cacheDirty", 0, DataTypes.Int)]
        public int CacheDirty { get; set; }

        [PacketField("replNum", 0, DataTypes.Int)]
        public int ReplyNumber { get; set; }
    }
}
